<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>
    <!-- 
        Vue的作者参考了MVVM模型，设计出了Vue
        MVVM模型
        1. M：模型(Model) ：data中的数据
        2. V：视图(View) ：模板代码
        3. VM：视图模型(ViewModel)：Vue实例
        
        Vue中有2种数据绑定的方式：
        1.单向绑定(v-bind)：数据只能从data流向页面。
        2.双向绑定(v-model)：数据不仅能从data流向页面，还可以从页面流向data。
            备注：
            1.双向绑定一般都应用在表单类元素上（如：input、select、checkbox等）
            2.v-model:value 可以简写为 v-model，因为v-model默认收集的就是value值。
        
        备注：Vue中有很多指令，且形式都是：v-xxx  
         v-if、v-bind、v-model
    -->

    <!-- 准备好一个容器-->
    <div id="app">
        原生html <input type="text" value="name"/><br/>
        <!-- 普通写法 -->
        <!-- 单向数据绑定： <input type="text" v-bind:value="name"/><br/>
        双向数据绑定： <input type="text" v-model:value="name"/><br/> -->

        <!-- 简写 -->
        单向数据绑定： <input type="text" :value="name"/><br/>
        双向数据绑定： <input type="text" v-model="name"/><br/>

        <a href="url">打开百度</a>
        <a v-bind:href="url">打开百度</a>
        <a :href="url">打开百度</a>
        <hr/>

        姓: <input type="text" v-model="firstName"/><br/>
        名: <input type="text" v-model="lastName"/><br/>
        全名：{{firstName}}-{{lastName}}<br/>
        <!-- {{fullName()}}这里面是差值语法，把fullName()方法的返回值插入到这个位置
             {{fullName}} 是把这个函数插入到这个位置   -->
        全名：{{fullName()}}<br/>
        全名：{{fullName}}<br/>
        <hr/>

        <input type="checkbox" v-model="language" value="Java"/>Java<br/>
        <input type="checkbox" v-model="language" value="PHP"/>PHP<br/>
        <input type="checkbox" v-model="language" value="C++"/>C++<br/>
        <h1>你选择了：{{language}}</h1>
        <h1>你选择了：{{language.join(',')}}</h1>
    </div>
    <script src="vue.js"></script>
    <script>
        Vue.config.productionTip = false //阻止 vue 在启动时生成生产提示。
        //创建vue实例
        var vm = new Vue({
            el: '#app',
            data: {
                name : 'zhangsan',
                firstName : '张',
                lastName : '三',
                url : 'http://www.baidu.com',
                language : []
            },
            methods: {
                fullName() {
                    return this.firstName + this.lastName;    
                }
            },  
        })
    </script>
</body>

</html>